package part3;

/**
 * @author wcj
 * @Date 2021/5/11 15:11
 * @Version 1.0
 */
public class Part36 {
    public static void main(String[] args) {
        Dog d1 = new Dog();
        Dog d2 = new Dog();
        d1.name = "spot";
        d2.name = "scruffy";
        d1.says = "Ruff!";
        d2.says = "Wurf!";
        System.out.println("spot:"+d1+",scruffy:"+d2);
        System.out.println("spot==scruffy"+d1.equals(d2));

        int x = 1,y=2;
        // 基本数据类型使用==和!=比较其字面值，无法使用equals()进行比较
        System.out.println("x==y"+(x==y));

        // ==可以比较基本数据类型也可比较对象类型，比较基本数据类型时比较字面值，比较对象时比较引用即地址
        // equals()只能比较对象，默认重写Object类的此方法，比较引用，可以对其进行重写，按需要进行比较即可
        Integer i = new Integer(2);
        Integer j = new Integer(2);
        // 对象类型，使用==和!=比较的是其引用，使用equals默认比较的也是其引用，需要重写此函数才能按照需要进行比较
        System.out.println("i==j"+(i==j));
        System.out.println("i==j"+i.equals(j));
    }
}

class Dog{
    String name;
    String says;

    @Override
    public String toString() {
        return "name="+name+",says="+says;
    }

}
